package ecitys.gcs

import ecitys.types.Money

class VerbaServidor {
	def funcoesService
	Verba verba
	Funcionario funcionario
	Money valorVerba
	int mesCalculo
	int anoCalculo
	int mesInicioCalculo
	int anoInicioCalculo
	int quantidadeDeParcelas
	int quantidadeDeParcelasQuites
	Money percentual

	static belongsTo = [verba:Verba, funcionario:Funcionario]

	void setParcelasQuites(int mesCalculo, int anoCalculo){
		def int diferencaMeses = funcoesService.getDiferencaMeses(mesCalculo, anoCalculo, this.mesInicioCalculo, this.anoInicioCalculo)

		if ( (this.quantidadeDeParcelas == this.quantidadeDeParcelasQuites) |
		     (diferencaMeses >= this.quantidadeDeParcelas)){
			 VerbaServidor.executeQuery("update VerbaServidor v set v.quantidadeDeParcelasQuites=v.quantidadeDeParcelas where v.verba=? and v.funcionario=?",[this.verba, this.funcionario])
		}else{
		     diferencaMeses++
			 VerbaServidor.executeQuery("update VerbaServidor v set v.quantidadeDeParcelasQuites=? where v.verba=? and v.funcionario=?",[diferencaMeses, this.verba, this.funcionario])
		}
		
	}
	
	static mapping = {
		table schema:"gcs"
	}


	static constraints = {
	}

}